You pick the best variable type for the job depending on what you are trying to do. Normally in the PICmicro microcontroller you should try use character type variables, since these will have sufficient range, and are manipulated quickly by the PICmicro microcontroller.
The code on the right uses three variables to keep track of a spaceship in a computer game. The speed and the height can vary outside the range of characters, and so must be held as integer value. The compass bearing however can only have four values, one for each compass point. This means that I can use the character type to hold this.
Note how I have used comments to inform the reader of the range of values which each variable will have.
/* Variable Types */
void main ( void )
{
/* speed from 0-700mph */
int speed ;
/* compass point - N, S, E or W */
char compass ;
/* height from 0-1,000 feet */
int height ;
}